package cn.tedu.spring.security.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;

/**
 * 方法安全配置（方法授权）：
 * Spring Security 使用AOP处理方法级别的安全
 *  - @PreAuthorize("hasRole('USER')")
 * JSR-250注解：
 *  --@RolesAllowed("ROLE_USER")
 *  --@RolesAllowed({"ROLE_USER","ROLE_ADMIN"})
 *
 *  需求：用户可以查询用户列表，其他角色不能进行访问
 *
 *  Web安全配置：
 *  1.独立使用时需要添加@EnableWebSecurity
 *    --Spring Boot不需要使用该注解，已经自动配置
 *    --@EnableWebSecurity注解，会自动配置过滤器链
 */
@Configuration
//@EnableWebSecurity(debug = true) //配置过滤器链
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MethodSecurityConfig {


}
